Added lots of semantic markup