I keep running into friction finding where certain logic is. This can probably be solved with a better file structure / seperation of logic