Recursive cap