Changed abstract to virtual and added update
Change r range
Using new update