Now works, but going to factor out shared enums.