refactor code
update readme