basic frame update