added enumeration reader and writer