start to improve error handling from driver