Inital version. This already appears to work perfectly.