Add gray.erl and gray_test.erl