tried to rewrite and reactive demo first