function and design change