PRINCIPLES OF PROBLEM SOLVING