refactor(server) join