Refactor into read, write, autosync, geocode