add ctl to class
changed error source
contributes to #3 by adding underlying cfg API
contribute to #4 at the runtime level