I cleaned up more code and refactored some of the classes.

I also added an error condiiton to test if the start point is a valid number.