add basic_calc (tested)