Added additional files to gitignore to reflect a change in folder
structure
Organised code slightly more efficiently, and changed local magic values
into global constants