main added for submodule loading