added basic server/client architecture