added buttons and event listeners