Add purchase logic