iterating over this trying to come up with a better design
went a completely different route to simplify the app, i was overarchitecting!