externalizing stuff
single pass, baby!