sompression function added