basic functionality, still working on light states being saved