Added generic controller infrastructure