added some documentation, example