created provider to handle options