@Override
  public double evaluate(StateObservation oldState, StateObservation newState) {
    List<Observation> movables = StateObservationUtils.getMovablesOfType(newState, itypeOfMovable);
    List<Observation> sinks = StateObservationUtils.getImmovablesOfType(newState, itypeOfSink);

    double dist = calcDistBetweenMovablesAndSinks(movables, sinks, newState.getBlockSize());
    return dist;
  }