better organization of code, plus adding webserver