Changed the initial locations to default to 4-3, also fixed the collision problem, don't return a (0,0) vector for anything since it will give null errors if you find a unit vector for it.  Instead, I just changed it to someting really small, (0,.01)