abstracting translation unit