made separate cylinder class