implement reverse option