refactored onclicklisteners