less logging, more error handling