building a product, step by step. this is a submodule.