clean code + gitignore