Added option classes and made compression optional