add slice len functions