pattern state