add webstorage functionality