lets begin with the client: pojos and packages