Refactoring and Readme update