added slice specific io