Basic scheduling functionaity

Descriptions in code comments