checkout implemented