refactor: delegating frame