todo frame ops