optimize code
update readme