refactoring project before some breaking changes
new functionality
refactoring demo classes
new functionality
updating demo class