Lot of renaming, typedef, etc