text now uses a shader