add all switch functionality
Merge louis changes
Merge pull request #18 from brain-murphy/brian-branch

Brian branch