Player implemented. Rough sketch