using extra pattern