fixed to make object orienteted and simplified play method by abstracting methods