compiles, but doesn't run. In middle of refactor