add gitignore
tidy up headers