Minor refactor for more clarity and having the flow go through the scan method