use container singleton, remove keyval storage