Major structural change. Updated all imports accordingly. New docstrings.