Consolidate some of the position calculating down to global methods...
also some fixes for hypothetical bugs....

TODO:  Test this better before release.