Added few Classes to improve code quality - code not work, refactoring state!