+ snap tool and major refactoring
gitignore