Added in light functions and other various features. Code still needs cleanup.