load submodules automagically