add reverse feature for chain