Holy f I think this works