support both old and new vew