Add retract support and expand documentation.