more refactoring for #418; take out edge projections