Refactore and optimisations
Update Readme