Revise build, add `choice` extra