adding some comments and examples