refactoring
more PM events