small refactor and uml for client package