Added gitignore and broke off some functions into their own py files.