Facebook agrees to buy WhatsApp for $16 billion