use DCL to fix #523