add base controller infrastructure
Merge branch 'isaac'