smarter retrieve