version merged with my own copy