add support for local storage