http://members.lycos.co.uk/hartandsole/hartsole.htm