Refactor scheduler to be more fair