dont throw when refusing to overwrite, just return an error