DO NOT USE. Conflicts: first pass. Builds but doesn't run yet. Push for safe keeping.