many refinements to logic