add cdls function