abstract compress