lots of first draft functionality for products