added trait definition