Working solution initial commit
Refactoring
Initial commit