Simplier code and add private storage