implemented server in go