added shader storage block and exposed tokens
merged with master