add basic server, needs to be majorly cleaned up