generalized cylinder