Turned into ASDF system. Changed :pointer to :string references where I can, to reduce lines of code.