New data module.
Adds Map function.
Tidying up.
Functional parity on refactor
Merge pull request #69 from cmgiven/refactor

Refactor