rewrite gameplay structure