Updated with overwrite support