project retrieval is now delegated to middleware for easier reuse