what is the reason for this to be a raw pointer?