Seperated client and server, and key generaion.