lay down foundation for customizable illumination

a lot of internal re-working to allow for the fully customizable
illumination should be now complete