Player passes published tests. Needs commenting, cleaning, further testing