introducing the single handler provider