add saving to local storage and improve battle ui