WhatsApp uses an actor model architecture where each user is represented as an actor. If a user sends a message to an offline contact, the message is stored on WhatsApp servers until that contact comes online, at which point their actor will retrieve the message and deliver it. The backend is built using Erlang programming language on FreeBSD operating systems, with custom XMPP, Yaws web server, PHP, and the BEAM virtual machine. Messages are encrypted on transmission using a unique key for each user. Facebook acquired WhatsApp because of its high user engagement levels, potential to support Facebook's internet.org initiative, and because WhatsApp's efficient Erlang-based architecture could improve Facebook's own performance