added file compression functions