[in-progress] rewriting the prototype starting with basic framework for client and server