Optimized with displacement vector...hopefully, it is calculated
correctly.