refactor and add content