A general framework for combined module- and scale-based product platform design