Added workaround for duplicated products, refactored add_products
fixes #16
fixes #15