writing router-retrieve