Problem Solving Agents