wanted to try this out, i would probably never use it in a game but it was cool to test out. Feel free to leave feedback in the comments
all code by me