Update, now has a generic design