simplify overlapping date range logic, refactor views