Logic and switching circuits