refactored bsdf code. made it cleaner. refraction is still incorrect with black circles.