refactoring Monitor