refactoring and updating README