Fixes tests and adds data field to helper
cleans up nested code
Rename file
Refactors interface
Allowd for the passing of additional data
Version bump