starting custom slice implementation