added enumeration-based init option