implemented ON and OFF