new version with examples