improve error logging
fix robust future