opaque
#2