add tests
adding event listening