just a bunch of code I put together in my freetime