added save and load with localStorage