added a choices function that seems to hurry up rendering and makes code much shorter than it needs to be. Not done though