added test and basic product functionality