some additions for controller-switch abstraction - not fully functional yet