tests all passing (seemingly), and documentation for choiceController done