standard library refractoring, some work over 'chain of implication'