improve code
update