added Beeper class