abstract player and ground in own state
refactor and add toystore state