support both localstorage and dropbox through service interface