added canvas and main gameloop