less logging, more exception checks