john haworth