more preparations for size-limited diffuse sources

complete implementation, but does not work yet