updated crumb generation