cl refactor compiles, unimplemented