Reorganize into modules as first pass