Added "constructions" which make life easier

another enum, some structs, and some handy conversion-ness, plus a nice
#pragma