controller new structure