contents refactor