added mouse handling, better demo