add some improvments for gray design