added restrict operator for good measure -- final results show <<1% improvement over naive approach