server functional, doesn't handle input yet