add identity
implement array slicing