modify the crunch by myself
pull and fix conflict