added some documentation and generators