added a IPlayer interface