basic scheduling implemented