more efficient and robust oldCap method