* extracted provider classes