implement using non-blocking tcp server mode and stand alone gen_server and gen_fsm.. join these server to supervisors later.