refactor alarm , use engine.alarm.manager to interact