WIP, broken but getting closer, I think...