this version compiles