support re-initialization