introduce a separate 2D basis function