Refactor source (again)