Added ArrayLists and Listener