straighten out the mapping dependancies
add docstrings for the new structure

and a better import