new version to support some visualization