new schedule blocks system, much more efficient with its queries.
reimplement number in a slightly more sane manner