Should be thoroughly tested still Also involved removing operator overloads, which weren't good anyways