added buttons and listeners