lots of enum-based compile errors fixed