Alright, reworked EVERYTHING. it's all the same concept but a lot more over-engineered :)
New test file