Speed improved 5x and few more corrections after review