Add Term class & improve gitignore