Solving Tough Problems by