implemented process_scheduler