Now passing all tests (not testing interpolation)