add back in start_purchase