remove match
fixed alarm#register(), timing of unregister()
refactor