Basic implementation of client