new and improved canMakeLight()