add compression quality optional parameter