make scheduler decisions more stable between runs, add test