Major General George Crook, Union Army