before major refactoring
improve alerter