finalize is an optional function, so if you don't need it you don't have to include it