Add volume control, optimize events