trying to figure out impl form of backward