generalize spec for cycle string