working solution to 160 base on the forum