Added various subclasses and updated .gitignore.