this is my modify
merge & fix