add finalize function