switch to implicit classes