use initialize() and shutdown()