thomas weaver