Updated with examples and background