Adding documentation and examples