add accounting and traits