resturcturing with performance considerations