Problem Solving: A systematic approach to solving problems