matrix loading, cached ids, kinda works on real data