add reverse, freeze and flip functions