modify func