added BasePlayer.players, reducing some duplicated code
simplified a bit
OtherPlayer can be final
moved some classes outside that dont look useful anymore