trying to support multi module versions
never exit in library - raise exceptions instead