done: frame ops