加入controller & async