code is refatorred and ready to introduce DP
Finally works after introducing all the DP. Time for tests
Tests ahead
Unit Testing is needed
Merge branch 'master' of https://github.com/dnmitev/HighQualityCode.git