contributed by Arthur Brueggeman