modified to explain source.