Copy-paste and refactored stuff from product type for user