thinking about undiffing and a generic scheduler