Using problem-based learning for introducing producer theory and market structure in intermediate microeconomics