top-level alternatives