update with attribution to R. Stoyanchev
merge