add .gitignore
update .ignore and remove derived files
Rename a bunch of files/functions to make more sense