semi-working cylinder function