use reflection value provider