john d. weaver