simplify and enhance gitignore