mostly doc updates/split src_pro() into subroutines