add some changes by cutomization