refactored client + parameters