history pattern