implement step and interval selector base on provider