Added another strategy

+ some refactoring