fix and update
merge code
update code