added type enumeration with lib magic