Fixed so ChoiceInput now actually returns a value, added comments to functions for clarifications