- implement checkStrategy
- some refactoring