refactored the entire thing because I wrote some very insecure code