pattern applications