Refactor: first pass