update to low level switching