redid upload logic and attempted to generalize result card and handle updating fields