public Program() {
		super(TITLE + ": LOADING");

		isLoading = true;
	
		canvas = new Canvas(this);
		this.setContentPane(canvas);

		game = new MainGame(this, canvas);

		input = new Input();	
		Input.canvas = canvas;
		
		this.addKeyListener(input);
		this.addMouseListener(input);
		this.addMouseMotionListener(input);
		this.addMouseWheelListener(input);

		gameThread = new GameThread(this, "game", TARGET_FRAMERATE);
		renderThread = new GameThread(this, "render", 0);
		//inputThread = new GameThread(this, "input", 10);
		
		stats = new DebugStatistic(this, canvas);
		stats.registerThread(gameThread, Color.red);
		stats.registerThread(renderThread, Color.green);
		//stats.registerThread(inputThread, Color.blue);
		
		gameThread.Start();
		renderThread.Start();
		//inputThread.Start();
	}