server: implement basic server