splitting up raytracer to seperate modules