huge overhaul and refactoring, now multiple answers are handled