finalize logic