added on the fly compression