made some changes, enums aren't a good system for this