add range mod (prematurely, but it didn't break anything)
add 'source' param.  currently unused
add range mod pieces