desired logic