only use backward if deps