added 2 different ways of implementing ActionListener