style and functionality changes