add overwrite feature