adding some documentation
add example of implementing a data source
refinements to docs