Improve Controller structure