added retrieve support