Complete refactoring
gitignore tweak