Updated projection function