add more pattern cases