move listener outside of initialize