added overwrite support