Added enum documentation
Changed to not use bitfields, added first set of functions