reference self, not upstream