new condition implemented, client refactored