internal framework