update scheduler, reduce memory usage, still have GC issue