Added invert
refactored out some common stuffs
renamed foo
added italics and strike