constructor throws IAE instead of NPE
modified getStartingCoordinates to use HashSet
minor mods
updated docs