Added a interface for user storages.
Cleaned up the resources and removed the duplications.