Text framework