refactoring, API change, List reimplemented using ElasticStorage object