updated texture interface