changes to header are now compiling :D, shall merge the rest now