solving a problem