override @publiic_id with self.public_id