complete controller