game interface rewrite