chooser
complete merge