done with update & export function