added feature dimension reduction