Still buggy, but getting closer...