reordered input args; best practice README, @eval func defs, optional parent