added splice method