Signed-off-by: Adhityaa Chandrasekar <adtac@adtac.in>
I know this is a huge commit, but I can't be bothered to check this in part by part.