first pass at scheduler