include guards and other tweaks. moved in more files