john g. preston