some of update done for #5
merge