controllers architecture