new single product methods, up next... needs to be refactored