cleaned up documentation and added examples