reverse added. minor changes