oh jeez ... lots of changes