my raytracer implementation