added playback and api utility functions