still working on structuring code correctly