adding interfaces and stub player implementation