implemented level switching