solve wide range problems