William Bowles career