* split packet scheduler into three seperate parts