abstracted away from _.proj a bit