replace push to slice, almost done