add divide with recursivity