Lots of changes
Finished converting to semantic