added support for generic controllers