added a new method for recursively computing the projections