Sorry for the long absence from this thread, I am currently looking at bidirectional path tracing to improve my render speeds, then I will implement a BVH (and then I will be looking at implementing all the materials I am missing i.e. SSS, and other stuff).