added compression handling