Replaced Structs with Enums, as they play nicer