I'm using mapcar, because originally I was just wanting to process the list with foreach. Then I realized that foreach went through too many hoops to take each item from a list and put its altered state back in place where it started. I realized that mapcar was ideal for this and started to use it. Then I realized that I didn't want to change the z value at all or at best make all z values 0.0, which I haven't added. While I was working on this, I knew there was an easier way, by just picking the list apart with car cadr and caddr, but what fun is that? I wanted to iterate through it. For some strange reason, I just don't like using cadddddddddr all that much. It's kinda like that idea of being beaten by the machine or beating the machine. It's a learning experience. As for the last item / reverse thingie? Here's my thought process. I was thinking it would be nice to have a pop function like in python. I started out to create one, but couldn't remove the popped item and realized that if I just reverse the list and tell member to start at point 1, then reverse it again, I had the list I wanted to in its order. The last item is like a static pop, of course I originally thought to use nth so I could have more flexibility, but decided to nix the idea, since I only want to work with three point lists. Adding a position value finder would be nice with what you were trying to show me with recursion. You could safely remove that item, alter the rest and replace the popped item back in its place. Does that make sense?