put in code to check for proper typeids and correct when it's
handed a blueprint, rather than a product