moved abs to submodules