Add base module with tests