shader system refactored