Initial implementation of a client