This doesnt work (yet). Will likely change the code around abit