build DSL structure, can just output configs