add grayCode