Upgrading to Windows 7 – it’s all about reliability

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

There’s been plenty written over the last week or so about Microsoft’s plans for users upgrading to Windows 7 and, in short, customers will be able to purchase an upgrade license, but there will be no in-place upgrade path from Windows XP (direct in-place upgrades from Vista will be supported but are not recommended).

After all the anti-Vista press, I’ve been pleasantly surprised to see that much of what’s been written about Windows 7 has been relatively positive (I even wondered if they should market the product as Windows Mojave!) but now the critics have found something to complain about.

“What! No direct upgrade path from my 8-year old (n-minus-2) OS?”

Yes. Exactly. And that is A Good Thing.

I’ve often wondered why Windows gets such a hard time with stories of system crashes and general unreliability but that’s just not been my experience. I thought that maybe it was because I’ve been running NT-based systems (including Windows 2000, XP, 2003, 2008, Vista, 7) for the last thirteen years – after all, I certainly experienced that sort of chaos at one company where I worked but when we migrated the 4000 European employees from something approximating 4000 customised installations (mostly Windows 95/98, with users rebooting several times a day) to a standard Windows XP image, reliability improved significantly.

Ironically, it was buying a Mac that helped me to realise why people think that Windows is buggy and unstable. My Windows systems are my workhorses. I install standard software and I use them. I might install the odd application here and there, but it’s generally well-written software and it’s not a succession of installations and uninstallations. I also tend to dump the OEM installation and to perform a clean installation of Windows with each new operating system (although I have also used upgraded machines). On the Mac I’m much more of a novice: I have to learn how to do things; I download things that look interesting, then take them off again – and then I have reliability issues. Not a huge problem – but probably the cause of more forced restarts than I experience on my Windows PCs.

So what exactly is my point? Well, firstly this is not a Mac vs. PC discussion. The point I’m making is that, on any platform, the key to stability is only making configuration changes where necessary (i.e. incessent tweaking is generally not a good thing). The other point is that starting from a known baseline (i.e. a clean OS installation) is highly recommended.

When Apple shipped the last major update of its operating system (Mac OS X 10.5 “Leopard”) the general advice was to perform an “archive and install” installation. Basically, that’s what Microsoft is offering for XP users moving to Windows 7 but, unlike Apple, who have the benefit of a closed system with only a few devices (at least at a hardware and operating system level), Microsoft has to support almost infinite permutations of hardware and software for its operating system. And, from a brief conversation yesterday with one of my colleagues, it seems the situation is no different on Linux – if I want to move from an old distribution of Ubuntu to the latest version then I should expect to have to reinstall.

There was one comment on the article that Randall C Kennedy’s wrote for his enterprise desktop column at InfoWorld which just about summed this up for me:

“[…] I’ll bet if Microsoft did allow for an upgrade his next article would be bitching about all the upgrade problems Windows 7 caused from XP systems.

Next blog we’ll probably see how puppies (really cute ones too) are slaughtered in the process of making Windows 7. Desperate stories call for desperate measures.”

Even his colleague J Peter Bruzzese at InfoWorld can’t agree when he argues why Microsoft’s XP-Windows 7 upgrade strategy is right.

Opinion aside, for most corporates, clean, imaged, installations will be the preferred deployment option for Windows 7. Meanwhile, the majority of consumers will run an OEM-installed copy of Windows that came with their PC. Only a relatively small number of consumers, small business users and hobbiests will want to upgrade directly from Windows XP or Vista to Windows 7 (and the Vista users will be able to do this in-place, if they so desire) and, from Microsoft’s perspective, limiting the options to reduce the likelihood of users experiencing upgrade issues makes sound business sense.

Installing the Cisco VPN client on Windows 7

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

I haven’t been able to run the Cisco VPN client on the notebook PC that I use for work (because there is no 64-bit Cisco VPN client) but, after a forced rebuild when my hard disk started acting erratically, I am no longer running my Windows Server 2008 workstation and I put the Windows 7 beta on it instead, choosing to go 32-bit so that I didn’t have to run a VM just to access corporate applications.

Most applications that work on Windows Vista should work on Windows 7 but the ones that will cause trouble are the ones with hooks deep into the operating system… like VPN clients – and the Cisco VPN client is no exception.

Even under Windows Vista, v5.0.3.0560 of the Cisco VPN Client needed a Windows Update to be applied prior to installation but I took the chance that was already included in the Windows 7 code. Installation was actually quite smooth and completed successfully but then, after the initial reboot, a glimpse of a blue screen of death before the PC restarted. Thinking that my hard disk error had been misdiagnosed (it hadn’t) I started to Google and came across Aaron Tiensivu’s blog post on preventing Cisco VPN client (v5.0.4.0300) installation from bluescreening Windows 7 (32-bit build 7000). That sounded interesting… it refered to a later version of the VPN client but otherwise it was exactly what I’d just seen.

After a System Restore had got me back to a running system, I followed the steps in the post, but they have been updated several times now, so what follows are the exact steps that worked for me:

  1. Install the Citrix Deterministic Network Enhancer (DNE) update (direct link to the installer file) and restart the computer.
  2. Take ownership of c:\windows\system32\drivers\ndis.sys and c:\windows\system32\drivers\en-us\ndis.sys.mui, then set permissions to grant Full Control to Administrators, before deleting the files.
  3. Install the Cisco VPN Client (I used v5.0.03.0560 but this is also reported to work with v5.0.04.0300 and v5.0.05.0280) and restart the system.
  4. Allow Windows 7 to perform Startup Repairs and then click Finish to shut down the computer.
  5. Start the computer, log on, and the Cisco VPN Client should now be available for use.

Following this, I was able to initiate a successful connection to my company’s network.

Incidentally, for those who need to run 64-bit Windows, Nicholas Caito’s workaround looks interesting – running the VPN client in a virtual machine, sharing the connection, and providing a static route on the host.

Windows 7 product editions

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Microsoft has announced the product line-up for Windows 7 and those who were looking for something a little simpler than the SKUs we saw for Windows Vista will be sadly disappointed. As with Vista there are several versions planned for Windows 7; however, unlike with Vista, each is a superset of the preceding version (i.e. the features in each version of Windows 7 build upon the one before it so that, as customers move up as version, they gain additional features and lose none).

Microsoft’s recommendations are:

  • For price-sensitive customers with small notebook PCs (e.g. netbooks), some OEMs will offer Windows 7 Starter Edition.
  • For customers in emerging markets, Windows 7 Home Basic will be available.
  • For consumers, Microsoft recommends Windows 7 Home Premium for most customers and Windows 7 Professional for customers who want additional features and functionality useful for small business activities. There will also be an Ultimate Edition of Windows 7.
  • For businesses, Microsoft recommends Windows 7 Professional for most customers and Windows 7 Enterprise for medium-to-large business and enterprise customers that choose to license Windows through Software Assurance.

Whilst I can see why this approach has been taken and I think that making each version build upon the previous one is a a sensible decision, in my opinion this is still too many versions (why do we need Ultimate or Enterprise – surely those features can be rolled into Home Premium and Professional as Microsoft has stated that it intends to focus on these as the primary editions of Windows 7?). Interestingly there is no mention of a version of Windows 7 labled N, K or KN as there was for previous versions of Windows in order to comply with legal rulings in Europe and Korea. The announcement also makes no mention of the differences between 32- and 64-bit editions amd whilst I expect to see x64 versions of the high-end SKUs, I’ll be surprised if the low-end versions are available for anything other than a 32-bit architecture.

In terms of available functionality, the line-up is as follows:

Version Key features
Windows 7 Starter Edition
  • Broad application and device compatibility with up to 3 concurrent applications.
  • Safe, reliable, and supported.
  • Ability to join a Home Group.
  • Improved taskbar and JumpLists.
Windows 7 Home Basic Edition Windows 7 Starter Edition features plus:

  • Unlimited applications.
  • Live Thumbnail Previews & enhanced visual experience.
  • Advanced networking support (ad-hoc wireless networks and internet connection sharing).
  • Mobility Center.

Windows 7 Home Basic Edition will only be available in emerging markets.

Windows 7 Home Premium Edition Windows 7 Home Basic Edition features plus:

  • Aero glass and advanced windows navigation.
  • Easy networking & sharing across all PCs and devices.
  • Improved media format support, enhancements to Windows Media Center and media streaming, including Play To.
  • Multi-touch and improved handwriting recognition.
Windows 7 Professional Edition Windows 7 Home Premium Edition features plus:

  • Ability to join a managed network (domain join).
  • Protect data with advanced network backup and encrypting file system.
  • Print to the right printer at home or work with location aware printing.
Windows 7 Enterprise and Ultimate Editions Windows 7 Professional Edition features plus:

  • BitLocker data protection for internal and external drives.
  • DirectAccess for seamless connectivity to the corporate network (requires Windows Server 2008 R2).
  • Prevent unauthorised software from running with AppLocker.

Windows 7 Enterprise Edition will only be available through Microsoft Volume Licensing.

Windows 7 Ultimate Edition will include multi-language packs.

Mounting ISO images in Windows 7

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

The Windows 7 beta includes the ability to burn CDs/DVDs from ISO images but it doesn’t seem to be able to mount them as volumes. As this beta is supposed to be feature complete, I don’t think it’s very likely that we’ll see this functionality added in future builds (even though rival operating systems can already do it…) but there are some third party alternatives available.

Last week, I (finally) got around to upgrading my netbook from Windows 7 milestone 3 (build 6801) to the beta (build 7000) and, as I didn’t have access to a DVD drive, I used Slysoft Virtual CloneDrive to mount the ISO as a drive, after which I could select the Windows 7 setup.exe from the autorun menu. It did exactly what I needed it to and that, rather lengthy, upgrade process didn’t seem to hiccup at all. From a quick trawl of the ‘net, there is at least one alternative out there (which I haven’t tried) – PowerISO – although this is a chargeable product and Virtual CloneDrive is freeware.

Running Windows 7 on a netbook

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Now that the Windows 7 beta is out and my NDA has lifted, I can finally write about my experiences of installing Windows 7 on a netbook. In a word:

Sweet.

You see, Windows XP works well on one of these little machines but who wants XP? It’s eight years old (an eternity in IT) and, for anyone who’s used to working with anything remotely modern, it’s a bit difficult to step back to (I was recently forced to revert to Windows XP and Office 2003 for a month whilst my main machine was being repaired and it was painful). I could install Vista but even Microsoft doesn’t think its the right OS for a netbook (that’s why they allowed vendors to continue shipping XP). Meanwhile, much has been said about how Windows 7 requires fewer resources and I wanted to find out how it would run on a typical netbook.

My Lenovo S10e arrived in early December and before installing anything I took an image of the hard disk so that I could return it to factory state if required (Lenovo provides a Windows PE-based recovery image but that’s not much good if you’ve accidentally wiped the hard disk using a pre-release operating system). I could have used Windows Deployment Services for this, but it was just as easy to fire up an old copy of Ghost and boot from a floppy drive and universal network boot disk.

With the disk backed up, I set about installing Windows 7 in a dual-boot scenario (I still needed to drop back to XP occasionally for BBC iPlayer downloads – although since then the BBC has made a version of iPlayer available that runs on other platforms). This was where I found James Bannan’s step-by-step guide on installing Vista to dual boot with XP so useful – the process that James describes is not exactly rocket science but it is good to know you’re following a process that has worked for someone else – and it also works for Windows 7.

Following James’ notes I used diskpart to shrink the existing disk partition, create a second partition and install Windows 7 (with no optical drive available, I used a USB hard disk as a boot volume and Windows 7 installed quickly and easily). There were a couple of unrecognised devices (the Broadcom wireless card and the Lenovo power management but I installed the XP drivers (I would have expected Vista drivers to work but not XP) and they seemed to do the trick. Everything else worked as intended.

Next, I downloaded and ran EasyBCD to edit the boot options. The Windows 7 installation wiped the boot loader that Lenovo had supplied, so I have no access to the recovery volume but it was simple enough to put Windows XP back in as a boot time option (actually, it should be simple enough to put in the recovery volume when I get around to it).

With Windows 7 installed, the next items to install were Vodafone Mobile Connect (which installed using the same options as for Vista) and some antivirus software (I used the free version of AVG, although I’ve been having problems whereby the resident shield won’t start automatically and I have to deactivate it, save the changes and then reactivate it.

After a few more apps (Microsoft Live Meeting, Windows Live Writer, Google Chrome – not to use as a browser but to set up application shortcuts for Google Mail and Calendar) and I had the machine configured as I needed for roaming around, checking e-mail, writing the odd blog post, etc.

So, how did it perform? Absolutely fine. This machine has a 160GB hard disk, a 1.6GHz Intel Atom CPU, integrated graphics and just 1GB of RAM. 3D graphics support was great (with really smooth transitions – e.g. Flip 3D) and the Windows System Performance Index showed 2.2, which may not sound high but makes sense when you look at the subscores:

Component What is rated Subscore
Processor Calculations per second 2.9
Memory Memory operations per second 4.4
Graphics Desktop performance for Windows Aero 2.2
Gaming graphics 3D business and gaming graphics performance 3.0
Primary hard disk Disk data transfer rate 5.3

So, fast disk, fast memory, let down by the CPU and the graphics. Not surprising given the class of machine that we’re looking at here.

Task Manager shows that Windows 7 is using 650MB of RAM, which doesn’t leave a huge amount for Office applications but it’s fine for a bit of browsing, e-mail, blogging, and even watching videos. Regardless of the fact that the machine seemed to run well with only a gig of RAM, I decided to see if adding more would make a difference.

First, I tried ReadyBoost to see if it would increase system responsiveness, using an old 1GB SD card, but I have to say that I’m not sure it really made any difference. Then I bought a 2GB SODIMM from , taking the total installed to 2.5GB (for some reason, XP only sees 1.99GB but Windows 7 recognises the whole amount) and measured the stats again. Surprisingly, the score dropped, but only by a fraction as the graphics subscore fell to 2.1 with memory IO slightly up to 4.5 and all other scores unchanged (as might be expected – after all, none of those components had been upgraded).

Windows 7 System Properties on Lenovo S10e after 2GB memory upgrade

So, eight weeks after installation, what’s my verdict? Well that is probably pretty obvious by now – Windows 7 runs nicely on a little netbook. How it will perform on older hardware is anyone’s guess but it also seemed fine on my Compaq Evo D510SFF with a 2.4GHz Pentium 4 CPU and 2GB of RAM (albeit with basic graphics). On that basis, it should be fine for most corporates (although even Vista should also be, with tactical RAM upgrades) and the only barriers to adoption will be cost (of a desktop refresh at a time of economic uncertainty) and application compatibility (as with Vista). It’s also remarkably stable – and I’m still running the pre-beta code (build 6801 with the Blue Badge “tweak”).

There’s plenty written elsewhere about Windows 7 features but those were not the purpose of this post. The one thing I cannot ignore is that Microsoft is yet to make a statement on netbook support for Windows 7 although TechRadar includes the major points in its article explaining Windows 7 netbook system specifications. Microsoft’s problem is that revenues are lower on netbooks (if the hardware is sub-£250, then it’s difficult to sell an operating system at full price without making the Linux alternatives look more attractive) but they also wants to stop shipping XP.

It seems to me that this is purely a marketing issue – from a technology standpoint, Windows 7 (plus Windows Live Essentials) seems to be an ideal netbook operating system.

A quick look at Windows ReadyBoost

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

My netbook it only came with 1GB of RAM, so I decided to see what effect the option to “Speed up my system using Windows ReadyBoost” would make (presented by Windows Vista and later when inserting removable media – more details can be found over on the Kodyaz Development Resources site).

First of all I tried a 1GB USB key that I’d been given with some presentation materials on it but Windows told me the device was not fast enough to use for ReadyBoost.

That was something of a surprise to me – I knew that not all devices were suitable for ReadyBoost but how could I tell why my device was failing? In his article, Is your flash drive is fast enough for ReadyBoost?, Ed Bott explains that:

“If you get a failure message when you first insert a flash device and try to use it as a ReadyBoost drive, you can click Test Again to get a second hearing. If the drive fails several tests, you can look up the specific performance results for yourself. Open Event Viewer (Eventvwr.msc) and click the Applications And Services Logs category in the console tree on the left. Under this heading, click Microsoft, Windows, and ReadyBoost. Under this latter heading, select Operational. The log entries in the center pane include performance test results for both successful and unsuccessful attempts.”

Sure enough, checking the logs on my Windows 7 system showed messages like:

Source: ReadyBoost
EventID: 1008
Description: The device (UT163 USB Flash Disk) will not be used for a ReadyBoost cache because it does not exhibit uniform performance across the device.  Size of fast region: 0 MB.

and:

Source: ReadyBoost
EventID: 1004
Description: The device (UT163 USB Flash Disk) will not be used for a ReadyBoost cache because it has insufficient write performance: 173 KB/sec.

173KB per second is about 10% of the required speed for ReadyBoost so I tried again, this time using a 1GB SD card.

First I saw an event to indicate that the card exhibited the necessary performance characteristics:

Source: ReadyBoost
EventID: 1000
Description: The device (Generic- Multi-Card) is suitable for a ReadyBoost cache.  The recommended cache size is 991232 KB.  The random read speed is 3311 KB/sec.  The random write speed is 3500 KB/sec.

and then a second event recording the creation of the cache:

Source: ReadyBoost
EventID: 1010
Description: A ReadyBoost cache was successfully created on the device (Generic- Multi-Card) of size 966 MB.

So, after creating the cache, did ReadyBoost actually make a difference?  It’s difficult to say – on a relatively low-powered PC (the one I used only has an Intel Atom 1.6GHz) performance is not blindingly fast and, as the USB ports (including internal ones used for devices like media card readers) rely on the main CPU for IO processing, it could be argued that use of USB attached memory would even compound the issue when the PC is running out of steam.  Those with faster PCs, or faster memory devices may see a difference.

Long Zheng has a good summary in his article which puts forward the notion that ReadyBoost works but that it’s not a miracle:

“I don’t agree with […] how ReadyBoost has been marketed and perceived by the public. ReadyBoost does not improve performance, it only improves responsiveness. It won’t make your system or [applications] run any faster, but it will make things faster to load and initialize to a working-state.

If you’re on a budget, then ReadyBoost is premium accessory that is definitely not value-for-money. You’re literally paying a price to slice milliseconds off loading times. But if you’re a professional or heavy business user, then ReadyBoost might be a cheaper, easier or the only alternative to upgrading memory.”

Long suggests that ReadyBoost is not value for money. I’d add that it may be if, like me, you have a lot of small USB keys that are doing nothing more than gathering dust on a shelf.  It’s probably not worth investing money in new hardware especially to use ReadyBoost though.  Indeed, one of Long’s readers (Tomer Chachamu) makes a distinction which is extremely important to consider:

“I am using [ReadyBoost] for several weeks now and I can confirm your experiences, that it helps a lot to improve the responsivness [sic.] of the system.

So it helps to make the whole system perform faster. So isn’t it the same?

High responsiveness: the system ‘feels fast’ and you don’t have to wait for something to load when you’re about to go to a command. (Example of high responsiveness: when you logon, you immediately want to go to the start menu and launch something. The time from logon to launch is a busy wait for you.) – this is affected by readyboost [sic].

High speed: the system performs computational (or I/O) tasks fast. (Example: you are ripping a massive library of CDs. It takes about 10 minutes. If it took less time, say by offloading floating point calculations to the GPU, then that would be high speed. It’s still longer than half a minute so the system is fast, but not responsive. When you’re encoding the CDs, you can do other useful activities, so it’s a non-busy wait.) – this is not affected by readyboost [sic].”

ReadyBoost is not about high speed – it’s about responsiveness (which explains why PC World were unimpressed when they tested some ReadyBoost-capable USB flash drives on Windows Vista).

In the end, I decided to buy some more RAM but, for those considering using ReadyBoost, it’s worth checking out Tom Archer’s ReadyBoost FAQ.

Get more memory at Crucial.com!

Windows 7 beta deployment tools

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Those who are checking out the Windows 7 beta with a view towards automated deployments may be interested to note that a beta of the Windows Automated Installation Kit has been released for Windows 7 along with an open beta of the Microsoft Deployment Toolkit 2010.

If you haven’t downloaded the Windows 7 beta yet, you need to do it soon!

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

When the Windows 7 beta was announced, it was originally limited to 2.5 million users. This was later relaxed but the shutters are about to come down again.

The Windows 7 team announced on Friday that, starting tomorrow, the Windows 7 website will be updated with a warning that time is running out. No new downloads will be possible after 10 February (but downloads in progress will continue) and on 12 February the tap will be turned off completely (product keys will still be available).

This applies to public downloads from the Windows 7 website – if you are a TechNet or MSDN subscriber, you will still be able to download the beta (and presumably the same rules apply for Microsoft Connect, although I’ve not heard anything official).

Windows 7 beta is available for download

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

There’s been a lot of speculation over the last year or so about when Windows 7 will ship and those who are expecting a 2009 release could well get what they are asking for as the Windows 7 beta has now been released.

Starting today, Microsoft Connect beta testers and TechNet subscribers have access to the beta build (build 7000) and on Friday it will become available to a broader audience via the Windows 7 website although this is still a limited beta – Microsoft’s Windows Blog reports that the beta will be restricted to the first 2.5 million downloaders and will expire on 1 August 2009.  For most testers, Ultimate Edition is the only version of the client OS that’s available although it does come in both 32-bit and 64-bit versions. 

For those who are tracking the server release, a beta of Windows Server 2008 R2 will also be available from Friday at the Windows Server 2008 R2 website and I’ve written previously about some of the new features to expect in Windows Server 2008 R2.

This is a beta – there will be things that are not quite right – and it might break things so it’s definitely not recommended for use on a production system.  Having said that, I’ve been running Windows 7 for a couple of months now and it seems pretty solid to me – it should be, as it’s based on Windows Vista.  If you do run into problems, there is limited support available via the Technet Forums (where I’m one of the moderators for Windows 7).

For me, this is great news – many of the NDA restrictions that were imposed on me whilst I was using the M3 build have now been lifted and I can start to write about the new features – indeed I’m just putting the finishing touches on a post about my experiences of running 7 on a netbook.

As for that 2009 release, at the time of writing this post I have no information on product packaging, pricing, or ship dates (Microsoft is sticking to the line that it will ship when it reaches the required quality, rather than on a pre-planned date) but, with an API-complete milestone build released to developers in Autumn 2008 and a feature-complete beta released in January 2009, I see no reason why the final product would not be ready for Christmas.  The August expiry of the beta also provides some hints although there is likely to be at least one release candidate post-beta and pre-RTM.  It may be that we see OEMs and volume license customers get a copy in late 2009 but full retail release will follow a few weeks later (as with Vista).  Also, don’t be fooled by the fact that Windows Server 2008 R2 is being jointly developed with the Windows client operating system – I’d expect the server product to ship in early 2010.  All of that is pure speculation though… for now, it’s time for organisations to start installing the Windows 7 and Windows Server 2008 R2 betas in labs, to familiarise themselves with new features, to test applications and to provide feedback to Microsoft.

Steve Ballmer announces Windows 7 and Windows Server 2008 R2 public betas

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Just about now (18:30 PST on 7 January 2008), Steve Ballmer should be delivering his pre-CES keynote, during which he will announce the public release of the betas for Windows 7 and Windows Server 2008 R2.

As 18:30 PST is 02:30 GMT, I’ll be asleep when this post goes live (ah, the wonders of modern technology) but I’ll post more in the morning (once I’ve checked exactly what information has been made public).  There is so much I’ve been waiting to say about Windows 7 but have been unable to do so because of non-disclosure agreements and hopefully now that has changed. Watch this space.