update framework function