add fun nth_replace
change gitignore