basic for discount processing