refactor readme and some code