implement genconf action and add some test cases