Update README and DRY refactor