replaced DS_OVERRIDE and DS_FINAL with override and final, respectively