new scheduling method + refactor