update readme
code cleanup
code cleanup
refactor