mess but working... kind of