You also may want to look at work by Jack Dykinga.