implemented product variants