refactor exceptions
Add Point and Node classes