updated with some examples