ongoing huge refactoring. Still doesn't build.
ongoing huge refactoring. Still does not build.