Module access

This was a little more work than I wanted it to be :)

But it works now, submitting for PR so that I can get a sanity check before merging.