added recovery more work on future stream interface