further implemented play delegate