add build_synth function