shared rules for product