Added combinators to centralize common code