- added switch and tests to go with it