implemented __open(product) as return of open_product ...