add: gray code