almost ready for client developing. Server side TODO: client managing.