detects client join