Seperated out listeners to different function