v0.5 add server framework, untested