DataProvider rewrite, STILL BUGGY