Raycast math issue, need help drawing on back side of mesh

Hi, I have this modal that draws points on mesh, but would like to have it draw on opposite side as well.
It kinda works, but once I change perspective it stops working. Is there something wrong with the math? Or should I use something other than direction?

Thank you for your time!

Never mind, I got it.

This is the solution:

origin, direction = self.get_origin_and_direction(event, context)

self.hit, self.normal, *_ = self.bvhtree.ray_cast(origin, direction)

hit2, normal2, *_ = self.bvhtree.ray_cast(self.hit + 0.001 * direction, direction)