renamed some classes
update classes and tests for Strategy pattern