I should clarify, this is shamelessly stolen from facebook.