adding support for a product card, add docstrings