multiple compilation units ok