switch .next to ._next
switch to len so negative getitem works