internal: return results from runner() and refactor the source generation