Added lighting and reorganized code

Lighting still needs to be fixed