new style controlller