patterns