change a elegant way