rewritten & updated gitignore