Project cache work plus tests