Initial version with client