add offline support and local storage