added some necessary things
added examples