why `@gray` is used 3 time?