added enumeration code