new event handling and camera control