enum processing, still needs work but works