Refactored so that we use an User object in method signatures instead