update quantity functional