Updated README and refactoring