added intermediate mode