Problem solving technology