lots of renaming to conform to conventions