Refactoring

Also fixed product controller / model merge conflict break thing that happened.