better api for m.server, fix bugs in server.listen, need to implement the err handling