implementing models in the client