replaced all the crapy enums by choices