modular shader class finished