Improving source handling.
More work on source.