Modules over non PID's
Is there any way how to work with modules over general rings? Most of the functions work only for modules over PID. For instance
submoduledo not work if there are zero divisors. Ho does one work with submodules, say over
Integers(8), or take the span of vectors over a non PID?