implement cylinder compartment

I'll give this a go.

Edited by Saad Jbabdi