making general scheduler
working on general scheduler