moved enumerations to a separate class library for reuse