more complex support for external controllers