william solomon