moved implementation for the beeper and friends in to its own source file