implemented retrieve all feature. need test.