Refactored client package