added a few new functions: _sort for sorting the interal data by date and keeping a sorted python list, starts_within which checks if an object starts within the time peroid of another object passed into it