updated ds impl.