cleaned and commented Player and Block