Implemented giftcard redemption feature
Some minor refactorings