require blueprint and strategy for builder