fix a typo
add #provider_init and #provider_final methods