Add more documentation and examples