separation of the parser from the client class