Currently the interfaces accept `*Pointer`. This needs to be updated so that they accept `Pointer` and return a Pointer along with resolutions and errors