Keys to Effective Problem Solving