Still working on it, turns out to be much harder than expected