Added strategy pattern
cppcheck cleanup