added some comments to solid angle implementation and cleaned up header file so it is understandable from the header to figure out what the functions do (as it should)