rewrites a good deal of the module

next steps - turn master into a profile, calling a collection of params
classes