How Do We Solve Problems