SIMPLE and COMPLEX version, COMPLEX: set and unset logic implemented