added add_product method and tests