first update
first change from dstroud