Initial Commit
- extracted shaders to their own class
- small fixes