add test and add tool to generate controller list