implemented sub and mult