added provider feature, code formatting
updated docs