Gray Code

Change-Id: I7fb8879b76fb1a712e5f63ed8e74209563c79d56