-more refactoring
-shader manager