shader and texture classes added