used Martin Fowler's range pattern to determine if date ranges overlapped