Needs safeUserInput