add `init with frame`