finish the shader loader and struct for user data