add toogle abstract