TO BE COMPLETELY OVERHAULED BECAUSE FUCK YOUR SHIT