added enumeration support