refactor and microdata