implemented retrieve feature