remove useless code
allow convetion based methods and aggregated players
use traversable instead of transforming to array