change slice implementation