differentiate '::', ':::'
tweak chain; respect select