clean up, introducing scheduler.go