bringing in event listener functionality