Many thanks to James and Jerry for all their help.