add local storage module, not finished