The scope of the task has changed a bit since the issue was first created and part of the work was to remove and rewrite code for the previous assumptions we made.