refactor and test markup.lists. treats all lists as single level