much abstract. very trait. wow.