updated shader subclasses