.gitignore for compiled files
use array list instead of linked list for error manager
hash function for model names