Things to think about so far:

  • IO - where does the source come from and where does it go?
  • Write tests