Add support for metric units

I have checked and double checked, don't think I've missed anything. What do you think?