add remaining global functions for mac
fix and simplify SmartIterator
add playback example