play function partially implemented