config generation