towards builder generation