#19: add 'ctools' module

Resolves #19.