incorporate hints by BinaryKitten