Some cleanup and a better driver that checks arguments
Added gitignore