.gitignore
big refactor