started to implement the strategy design pattern

update of most classes