addition functionality working