workings on toggle implementation
(still not 100% yet)