Opimistically switched back to enums, fixed a bug in Reader