updated with more examples