I'm afraid that what you're doing is a bit above me as I've never had to implement many of the functions and methods that you are using. However, I would like to echo Thomas' sentiment about stepping outside of the boundaries so many here observe. I've posted questions about code containing highschool geometry and people avoided them like the plague. Good luck and kudos.