This is a capstone project for our UofU masters program.