Updated Readme and refactored a bit