work against #42. now seems to properly work with sourcedocument & program and elements