added addListeners method