refactor for clarity
refactor for clarity
refactor for clarity
wired together all of the components