added generic external player