changed opaque to type for now