More robust project parsing