add lifecycle callbacks for blog