finish adding all the variants, clean up argument builder