comments added
extended example