add framework base functins