kinda have an idea how I want to structure this application