new implementation of Alarm