add overwrite protection