add some graphic, mouse, and window functions