added header guards
added header guards
moved tests to a test file

but not a dir, still haven’t sorted that relative import issue