A lil more complicated and useful @provider impl