added sum(), avg()