solution approaches