contoller design