I don't think that the methods on this impl need to be `pub`, and shouldn't the dead ones be removed?