Controller pattern updated