working on checkout method... too many nested iterations. Needs to be broken down more into functions