finalize impl