add gray_code