did this entire thing in under 24 hours so forgive the terrible coding practices