content framework