develop problem solving