New include guards
Pass -Wall compilation
Pass -Weffc++ compilation