finding solutions