Fix #6 add event listeners