refactor raytracer to completely use vectors