removed opaque types