19 refactoring shader manager