add stackable trait design