added cpl framework