update to use trait