variablize, somewhat
use better paramaters
Merge branch 'src'