[rewrite]zy: change properties to private and use visitor to show fight
result