caterpilla method