4. added shader interface and compatibility implementation