support pattern annotations