changed start and end so they don't conflict with reserverd words. Improved overlap and inclusion checks