adding play state, some more logic