partly finish markup
merge with master