add play func - improves