add more examples, re-structure