pretty much got the project done. just gotta clean it up and add presentation stuff