added some compiler settings to help clean up warnings
cleaned up a deprecated use of Enumeration
added a point class
added boundary checking and invalidation