dist version + pack function