added light on/off and a bunch of other stuff